GtkWidget: Fix clipping to large subwindows
authorAlexander Larsson <alexl@redhat.com>
Mon, 28 Oct 2013 10:32:51 +0000 (11:32 +0100)
committerAlexander Larsson <alexl@redhat.com>
Mon, 28 Oct 2013 10:56:52 +0000 (11:56 +0100)
commit864f7f7ebcf1a11377c388b313465caf05877016
tree2ca930e7b23b414cfa4e33ae79005705878c9ba2
parent961edcbfed517fe3e2d1bf681193b46a548a599e
GtkWidget: Fix clipping to large subwindows

_gtk_widget_draw_internal() was clipping by passing the subwindow
sizes as a path to cairo_clip(). This was breaking for windows
larger than 23 bits in width/height, due to cairo using fixed point
(24.8) for the path coordinates.

We fix this by pre-clipping the subwindow region to the existing
cairo clip region in the full 32bit gdkwindow precision. This fixes
the GooCanvas Large Items test.

https://bugzilla.gnome.org/show_bug.cgi?id=710958
gtk/gtkwidget.c